nanopyx.core.transform.image_cart

Combination of functions for shifting an image, using several interpolation methods.

 1"""
 2Combination of functions for shifting an image, using several interpolation methods.
 3"""
 4
 5import numpy as np
 6
 7from ..utils.timeit import timeit2
 8from . import interpolation_bicubic
 9from . import interpolation_bilinear
10from . import interpolation_nearest_neighbor
11from . import interpolation_catmull_rom
12from . import interpolation_lanczos
13
14@timeit2
15def catmull_rom_cart(image: np.ndarray, x_shape: int, y_shape: int, scale:str='linear'):
16    interpolator = interpolation_catmull_rom.Interpolator(image)
17    return interpolator.cartesian(x_shape,y_shape,scale)
18
19
20@timeit2
21def lanczos_cart(image: np.ndarray, x_shape: int, y_shape: int, scale:str='linear'):
22    interpolator = interpolation_lanczos.Interpolator(image)
23    return interpolator.cartesian(x_shape,y_shape,scale)
24
25
26@timeit2
27def bicubic_cart(image: np.ndarray, x_shape: int, y_shape: int, scale:str='linear'):
28    interpolator = interpolation_bicubic.Interpolator(image)
29    return interpolator.cartesian(x_shape,y_shape,scale)
30
31
32@timeit2
33def bilinear_cart(image: np.ndarray, x_shape: int, y_shape: int, scale:str='linear'):
34    interpolator = interpolation_bilinear.Interpolator(image)
35    return interpolator.cartesian(x_shape,y_shape,scale)
36
37
38@timeit2
39def nearest_neighbor_cart(image: np.ndarray, x_shape: int, y_shape: int, scale:str='linear'):
40    interpolator = interpolation_nearest_neighbor.Interpolator(image)
41    return interpolator.cartesian(x_shape,y_shape,scale)